using System;
using System.Xml.Serialization;

namespace Aop.Api.Domain
{
    /// <summary>
    /// CommentInfo Data Structure.
    /// </summary>
    [Serializable]
    public class CommentInfo : AopObject
    {
        /// <summary>
        /// 请求流水号，用于幂等控制，防重复提交。  取值规则：uid+@+时间戳long型值
        /// </summary>
        [XmlElement("biz_no")]
        public string BizNo { get; set; }

        /// <summary>
        /// 评论ID
        /// </summary>
        [XmlElement("comment_id")]
        public string CommentId { get; set; }

        /// <summary>
        /// 评论的文字内容
        /// </summary>
        [XmlElement("content")]
        public string Content { get; set; }

        /// <summary>
        /// 图片信息  1、type为image时，此项非空  2、type非image时，此项数据无效
        /// </summary>
        [XmlElement("img_infos")]
        public CommentImageInfo ImgInfos { get; set; }

        /// <summary>
        /// 链接信息  1、type为link时，此项非空  2、type非link时，此项数据无效
        /// </summary>
        [XmlElement("link_info")]
        public CommentLinkInfo LinkInfo { get; set; }

        /// <summary>
        /// 点赞数
        /// </summary>
        [XmlElement("praise_count")]
        public long PraiseCount { get; set; }

        /// <summary>
        /// 回复数
        /// </summary>
        [XmlElement("reply_count")]
        public long ReplyCount { get; set; }

        /// <summary>
        /// 打赏数
        /// </summary>
        [XmlElement("reward_count")]
        public long RewardCount { get; set; }

        /// <summary>
        /// 评分，取值为整数（可根据展示规则自定义满分值）
        /// </summary>
        [XmlElement("score")]
        public long Score { get; set; }

        /// <summary>
        /// 评论的类型（四选一）：  text：纯文本，  image：图片，  video：视频，  link：链接
        /// </summary>
        [XmlElement("type")]
        public string Type { get; set; }

        /// <summary>
        /// 评论发表人的用户信息
        /// </summary>
        [XmlElement("user_info")]
        public MicroUserInfo UserInfo { get; set; }

        /// <summary>
        /// video信息  1、type为video时，此项非空  2、type非video时，此项数据无效
        /// </summary>
        [XmlElement("video_info")]
        public CommentVideoInfo VideoInfo { get; set; }
    }
}
